// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.gson.internal; import java.io.Serializable; import java.lang.reflect.Type; import java.lang.reflect.WildcardType; final class c implements Serializable, WildcardType { private static final long serialVersionUID; private final Type a; private final Type b; public c(Type atype[], Type atype1[]) { boolean flag = true; super(); boolean flag1; boolean flag2; if (atype1.length <= flag) { flag1 = flag; } else { flag1 = false; } .Gson.Preconditions.checkArgument(flag1); if (atype.length == flag) { flag2 = flag; } else { flag2 = false; } .Gson.Preconditions.checkArgument(flag2); if (atype1.length == flag) { .Gson.Preconditions.checkNotNull(atype1[0]); .Gson.Types.a(atype1[0]); if (atype[0] != java/lang/Object) { flag = false; } .Gson.Preconditions.checkArgument(flag); b = .Gson.Types.canonicalize(atype1[0]); a = java/lang/Object; return; } else { .Gson.Preconditions.checkNotNull(atype[0]); .Gson.Types.a(atype[0]); b = null; a = .Gson.Types.canonicalize(atype[0]); return; } } public boolean equals(Object obj) { return (obj instanceof WildcardType) && .Gson.Types.equals(this, (WildcardType)obj); } public Type[] getLowerBounds() { if (b != null) { Type atype[] = new Type[1]; atype[0] = b; return atype; } else { return .Gson.Types.a; } } public Type[] getUpperBounds() { Type atype[] = new Type[1]; atype[0] = a; return atype; } public int hashCode() { int i; if (b != null) { i = 31 + b.hashCode(); } else { i = 1; } return i ^ 31 + a.hashCode(); } public String toString() { if (b != null) { return (new StringBuilder()).append("? super ").append(.Gson.Types.typeToString(b)).toString(); } if (a == java/lang/Object) { return "?"; } else { return (new StringBuilder()).append("? extends ").append(.Gson.Types.typeToString(a)).toString(); } } }